<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>OpenCV: cv::cuda::NvidiaOpticalFlow_2_0 Class Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../tutorial-utils.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
   &#160;<span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></li><li class="navelem"><a class="el" href="../../d1/d1a/namespacecv_1_1cuda.html">cuda</a></li><li class="navelem"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html">NvidiaOpticalFlow_2_0</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="../../d9/dac/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">cv::cuda::NvidiaOpticalFlow_2_0 Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="../../d1/d1e/group__cuda.html">CUDA-accelerated Computer Vision</a> &raquo; <a class="el" href="../../d7/d3f/group__cudaoptflow.html">Optical Flow</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Class for computing the optical flow vectors between two images using NVIDIA Optical Flow hardware and Optical Flow SDK 2.0.  
 <a href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#details">More...</a></p>

<p><code>#include &lt;opencv2/cudaoptflow.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cv::cuda::NvidiaOpticalFlow_2_0:</div>
<div class="dyncontent">
 <div class="center">
  <img src="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.png" usemap="#cv::cuda::NvidiaOpticalFlow_5F2_5F0_map" alt=""/>
  <map id="cv::cuda::NvidiaOpticalFlow_5F2_5F0_map" name="cv::cuda::NvidiaOpticalFlow_5F2_5F0_map">
<area href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html" title="Base Interface for optical flow algorithms using NVIDIA Optical Flow SDK. " alt="cv::cuda::NvidiaHWOpticalFlow" shape="rect" coords="0,56,197,80"/>
<area href="../../d3/d46/classcv_1_1Algorithm.html" title="This is a base class for all more or less complex algorithms in OpenCV. " alt="cv::Algorithm" shape="rect" coords="0,0,197,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a29d6c4e6ab040dd9d192f13c117bc81e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81e">NVIDIA_OF_HINT_VECTOR_GRID_SIZE</a> { <br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81ea378a3bc8380b331cb49560c630b8011f">NV_OF_HINT_VECTOR_GRID_SIZE_UNDEFINED</a>, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81eaa57bb3b6dedb062d1ff4475968feaf62">NV_OF_HINT_VECTOR_GRID_SIZE_1</a> = 1, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81ead51845726d73444d85c192461ea3d535">NV_OF_HINT_VECTOR_GRID_SIZE_2</a> = 2, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81eaaf6cb7051bf045e6180cbec70304eac8">NV_OF_HINT_VECTOR_GRID_SIZE_4</a> = 4, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81ea137b170ed5eb4756d7ea35a49f6fbbfc">NV_OF_HINT_VECTOR_GRID_SIZE_8</a> = 8, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81eadab65d6096ec47af997154a511401bb3">NV_OF_HINT_VECTOR_GRID_SIZE_MAX</a>
<br />
 }</td></tr>
<tr class="separator:a29d6c4e6ab040dd9d192f13c117bc81e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b19352346b841a1fac3dd1980d311a6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6">NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE</a> { <br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a228f1857a15b6d2e584ea6da0b38f5ae">NV_OF_OUTPUT_VECTOR_GRID_SIZE_UNDEFINED</a>, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a5d054b069623e24731a589b1880591f9">NV_OF_OUTPUT_VECTOR_GRID_SIZE_1</a> = 1, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a3d5d93aff16388d186b89d9aabfb66ac">NV_OF_OUTPUT_VECTOR_GRID_SIZE_2</a> = 2, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a7501936cc2ee3d2a0a519f385733747c">NV_OF_OUTPUT_VECTOR_GRID_SIZE_4</a> = 4, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a75b1a5f4d00e669d2bb09173a8845be5">NV_OF_OUTPUT_VECTOR_GRID_SIZE_MAX</a>
<br />
 }</td></tr>
<tr class="separator:a6b19352346b841a1fac3dd1980d311a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee3840f0ebe4a7fda692b4a09b400713"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713">NVIDIA_OF_PERF_LEVEL</a> { <br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713afdb019756ec316eaf8f07857d7abc52b">NV_OF_PERF_LEVEL_UNDEFINED</a>, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713ac54ec6a6041c6071a9b8184ca12e6261">NV_OF_PERF_LEVEL_SLOW</a> = 5, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713ac42922fccdadd95749a5da0b3ecc657b">NV_OF_PERF_LEVEL_MEDIUM</a> = 10, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713ab0a60a90d75b360a4afdfdd640dd7e1b">NV_OF_PERF_LEVEL_FAST</a> = 20, 
<br />
&#160;&#160;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713a1510e9877051d8af42543fb41a4ac9b4">NV_OF_PERF_LEVEL_MAX</a>
<br />
 }</td></tr>
<tr class="separator:aee3840f0ebe4a7fda692b4a09b400713"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a20e1809f8b722b52b7fae018f9439a43"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a20e1809f8b722b52b7fae018f9439a43">convertToFloat</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> flow, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> floatFlow)=0</td></tr>
<tr class="memdesc:a20e1809f8b722b52b7fae018f9439a43"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a20e1809f8b722b52b7fae018f9439a43" title="convertToFloat() helper function converts the hardware-generated flow vectors to floating point repre...">convertToFloat()</a> helper function converts the hardware-generated flow vectors to floating point representation (1 flow vector for gridSize). gridSize can be queried via function <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#acab67607ab946a9b1820d1d24b5a37d8" title="Returns grid size of output buffer as per the hardware&#39;s capability. ">getGridSize()</a>.  <a href="#a20e1809f8b722b52b7fae018f9439a43">More...</a><br /></td></tr>
<tr class="separator:a20e1809f8b722b52b7fae018f9439a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html">cv::cuda::NvidiaHWOpticalFlow</a></td></tr>
<tr class="memitem:a9c065a6ed6ed6d9a5531f191ac7a366d inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d">calc</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> inputImage, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> referenceImage, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> flow, <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;stream=<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> hint=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> cost=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>())=0</td></tr>
<tr class="memdesc:a9c065a6ed6ed6d9a5531f191ac7a366d inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Optical Flow using NVIDIA Optical Flow SDK.  <a href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d">More...</a><br /></td></tr>
<tr class="separator:a9c065a6ed6ed6d9a5531f191ac7a366d inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b7679538d49adb53d614e63818275d6 inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a7b7679538d49adb53d614e63818275d6">collectGarbage</a> ()=0</td></tr>
<tr class="memdesc:a7b7679538d49adb53d614e63818275d6 inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases all buffers, contexts and device pointers.  <a href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a7b7679538d49adb53d614e63818275d6">More...</a><br /></td></tr>
<tr class="separator:a7b7679538d49adb53d614e63818275d6 inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acab67607ab946a9b1820d1d24b5a37d8 inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#acab67607ab946a9b1820d1d24b5a37d8">getGridSize</a> () const =0</td></tr>
<tr class="memdesc:acab67607ab946a9b1820d1d24b5a37d8 inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns grid size of output buffer as per the hardware's capability.  <a href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#acab67607ab946a9b1820d1d24b5a37d8">More...</a><br /></td></tr>
<tr class="separator:acab67607ab946a9b1820d1d24b5a37d8 inherit pub_methods_classcv_1_1cuda_1_1NvidiaHWOpticalFlow"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcv_1_1Algorithm')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a827c8b2781ed17574805f373e6054ff1 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a827c8b2781ed17574805f373e6054ff1">Algorithm</a> ()</td></tr>
<tr class="separator:a827c8b2781ed17574805f373e6054ff1 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae826127fa0f1f8d10a24841bd376f8 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a8ae826127fa0f1f8d10a24841bd376f8">~Algorithm</a> ()</td></tr>
<tr class="separator:a8ae826127fa0f1f8d10a24841bd376f8 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#aec9c965448e4dc851d7cacd3abd84cd1">clear</a> ()</td></tr>
<tr class="memdesc:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the algorithm state.  <a href="../../d3/d46/classcv_1_1Algorithm.html#aec9c965448e4dc851d7cacd3abd84cd1">More...</a><br /></td></tr>
<tr class="separator:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6a18f1825475643e94381697d413972 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#ab6a18f1825475643e94381697d413972">empty</a> () const</td></tr>
<tr class="memdesc:ab6a18f1825475643e94381697d413972 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html" title="This is a base class for all more or less complex algorithms in OpenCV. ">Algorithm</a> is empty (e.g. in the very beginning or after unsuccessful read.  <a href="../../d3/d46/classcv_1_1Algorithm.html#ab6a18f1825475643e94381697d413972">More...</a><br /></td></tr>
<tr class="separator:ab6a18f1825475643e94381697d413972 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a286fc82744ccab3d248aca44524266a9 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a286fc82744ccab3d248aca44524266a9">getDefaultName</a> () const</td></tr>
<tr class="separator:a286fc82744ccab3d248aca44524266a9 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#aef2ad3f4145bd6e8c3664eb1c4b5e1e6">read</a> (const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp;fn)</td></tr>
<tr class="memdesc:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads algorithm parameters from a file storage.  <a href="../../d3/d46/classcv_1_1Algorithm.html#aef2ad3f4145bd6e8c3664eb1c4b5e1e6">More...</a><br /></td></tr>
<tr class="separator:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a880744bc4e3f45711444571df47d67 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a0a880744bc4e3f45711444571df47d67">save</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename) const</td></tr>
<tr class="separator:a0a880744bc4e3f45711444571df47d67 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a1f8ad7b8add515077367fb9949a174d2">write</a> (<a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &amp;fs) const</td></tr>
<tr class="memdesc:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores algorithm parameters in a file storage.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a1f8ad7b8add515077367fb9949a174d2">More...</a><br /></td></tr>
<tr class="separator:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a763a62d1b03042eef7d7fc3ac6c87c79">write</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &gt; &amp;fs, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;name=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>()) const</td></tr>
<tr class="memdesc:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a763a62d1b03042eef7d7fc3ac6c87c79">More...</a><br /></td></tr>
<tr class="separator:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:af8797a5ba11d9fd5055fba827476e5c1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html">NvidiaOpticalFlow_2_0</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#af8797a5ba11d9fd5055fba827476e5c1">create</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">cv::Size</a> imageSize, <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_PERF_LEVEL</a> perfPreset=<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713ac54ec6a6041c6071a9b8184ca12e6261">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_PERF_LEVEL_SLOW</a>, <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE</a> outputGridSize=<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a5d054b069623e24731a589b1880591f9">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_OUTPUT_VECTOR_GRID_SIZE_1</a>, <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81e">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_HINT_VECTOR_GRID_SIZE</a> hintGridSize=<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81eaa57bb3b6dedb062d1ff4475968feaf62">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_HINT_VECTOR_GRID_SIZE_1</a>, bool enableTemporalHints=false, bool enableExternalHints=false, bool enableCostBuffer=false, int gpuId=0, <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;inputStream=<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>(), <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;outputStream=<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>())</td></tr>
<tr class="memdesc:af8797a5ba11d9fd5055fba827476e5c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate NVIDIA Optical Flow.  <a href="#af8797a5ba11d9fd5055fba827476e5c1">More...</a><br /></td></tr>
<tr class="separator:af8797a5ba11d9fd5055fba827476e5c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59d22e2ce6371362f4471f35fb240909"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html">NvidiaOpticalFlow_2_0</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a59d22e2ce6371362f4471f35fb240909">create</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">cv::Size</a> imageSize, std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt; roiData, <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_PERF_LEVEL</a> perfPreset=<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713ac54ec6a6041c6071a9b8184ca12e6261">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_PERF_LEVEL_SLOW</a>, <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE</a> outputGridSize=<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a5d054b069623e24731a589b1880591f9">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_OUTPUT_VECTOR_GRID_SIZE_1</a>, <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81e">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_HINT_VECTOR_GRID_SIZE</a> hintGridSize=<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81eaa57bb3b6dedb062d1ff4475968feaf62">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_HINT_VECTOR_GRID_SIZE_1</a>, bool enableTemporalHints=false, bool enableExternalHints=false, bool enableCostBuffer=false, int gpuId=0, <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;inputStream=<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>(), <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;outputStream=<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>())</td></tr>
<tr class="memdesc:a59d22e2ce6371362f4471f35fb240909"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate NVIDIA Optical Flow with ROI Feature.  <a href="#a59d22e2ce6371362f4471f35fb240909">More...</a><br /></td></tr>
<tr class="separator:a59d22e2ce6371362f4471f35fb240909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classcv_1_1Algorithm')"><img src="../../closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a623841c33b58ea9c4847da04607e067b">load</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;objname=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>())</td></tr>
<tr class="memdesc:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads algorithm from the file.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a623841c33b58ea9c4847da04607e067b">More...</a><br /></td></tr>
<tr class="separator:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a3ba305a10d02479c13cf7d169c321547">loadFromString</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;strModel, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;objname=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>())</td></tr>
<tr class="memdesc:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads algorithm from a String.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a3ba305a10d02479c13cf7d169c321547">More...</a><br /></td></tr>
<tr class="separator:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#ad8c591bacb34c485f5b7a250c314fc53">read</a> (const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp;fn)</td></tr>
<tr class="memdesc:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads algorithm from the file node.  <a href="../../d3/d46/classcv_1_1Algorithm.html#ad8c591bacb34c485f5b7a250c314fc53">More...</a><br /></td></tr>
<tr class="separator:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classcv_1_1Algorithm')"><img src="../../closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a68eeca71617474ad3d4561786f0289d2 inherit pro_methods_classcv_1_1Algorithm"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a68eeca71617474ad3d4561786f0289d2">writeFormat</a> (<a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &amp;fs) const</td></tr>
<tr class="separator:a68eeca71617474ad3d4561786f0289d2 inherit pro_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class for computing the optical flow vectors between two images using NVIDIA Optical Flow hardware and Optical Flow SDK 2.0. </p>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>A sample application demonstrating the use of NVIDIA Optical Flow can be found at opencv_contrib_source_code/modules/cudaoptflow/samples/nvidia_optical_flow.cpp</li>
<li>An example application comparing accuracy and performance of NVIDIA Optical Flow with other optical flow algorithms in OpenCV can be found at opencv_contrib_source_code/modules/cudaoptflow/samples/optical_flow.cpp </li>
</ul>
</dd></dl>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a29d6c4e6ab040dd9d192f13c117bc81e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29d6c4e6ab040dd9d192f13c117bc81e">&#9670;&nbsp;</a></span>NVIDIA_OF_HINT_VECTOR_GRID_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81e">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_HINT_VECTOR_GRID_SIZE</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Supported grid size for hint buffer. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a29d6c4e6ab040dd9d192f13c117bc81ea378a3bc8380b331cb49560c630b8011f"></a>NV_OF_HINT_VECTOR_GRID_SIZE_UNDEFINED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a29d6c4e6ab040dd9d192f13c117bc81eaa57bb3b6dedb062d1ff4475968feaf62"></a>NV_OF_HINT_VECTOR_GRID_SIZE_1&#160;</td><td class="fielddoc"><p>Hint buffer grid size is 1x1. </p>
</td></tr>
<tr><td class="fieldname"><a id="a29d6c4e6ab040dd9d192f13c117bc81ead51845726d73444d85c192461ea3d535"></a>NV_OF_HINT_VECTOR_GRID_SIZE_2&#160;</td><td class="fielddoc"><p>Hint buffer grid size is 2x2. </p>
</td></tr>
<tr><td class="fieldname"><a id="a29d6c4e6ab040dd9d192f13c117bc81eaaf6cb7051bf045e6180cbec70304eac8"></a>NV_OF_HINT_VECTOR_GRID_SIZE_4&#160;</td><td class="fielddoc"><p>Hint buffer grid size is 4x4. </p>
</td></tr>
<tr><td class="fieldname"><a id="a29d6c4e6ab040dd9d192f13c117bc81ea137b170ed5eb4756d7ea35a49f6fbbfc"></a>NV_OF_HINT_VECTOR_GRID_SIZE_8&#160;</td><td class="fielddoc"><p>Hint buffer grid size is 8x8. </p>
</td></tr>
<tr><td class="fieldname"><a id="a29d6c4e6ab040dd9d192f13c117bc81eadab65d6096ec47af997154a511401bb3"></a>NV_OF_HINT_VECTOR_GRID_SIZE_MAX&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<a id="a6b19352346b841a1fac3dd1980d311a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b19352346b841a1fac3dd1980d311a6">&#9670;&nbsp;</a></span>NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Supported grid size for output buffer. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a6b19352346b841a1fac3dd1980d311a6a228f1857a15b6d2e584ea6da0b38f5ae"></a>NV_OF_OUTPUT_VECTOR_GRID_SIZE_UNDEFINED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a6b19352346b841a1fac3dd1980d311a6a5d054b069623e24731a589b1880591f9"></a>NV_OF_OUTPUT_VECTOR_GRID_SIZE_1&#160;</td><td class="fielddoc"><p>Output buffer grid size is 1x1 </p>
</td></tr>
<tr><td class="fieldname"><a id="a6b19352346b841a1fac3dd1980d311a6a3d5d93aff16388d186b89d9aabfb66ac"></a>NV_OF_OUTPUT_VECTOR_GRID_SIZE_2&#160;</td><td class="fielddoc"><p>Output buffer grid size is 2x2 </p>
</td></tr>
<tr><td class="fieldname"><a id="a6b19352346b841a1fac3dd1980d311a6a7501936cc2ee3d2a0a519f385733747c"></a>NV_OF_OUTPUT_VECTOR_GRID_SIZE_4&#160;</td><td class="fielddoc"><p>Output buffer grid size is 4x4 </p>
</td></tr>
<tr><td class="fieldname"><a id="a6b19352346b841a1fac3dd1980d311a6a75b1a5f4d00e669d2bb09173a8845be5"></a>NV_OF_OUTPUT_VECTOR_GRID_SIZE_MAX&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<a id="aee3840f0ebe4a7fda692b4a09b400713"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee3840f0ebe4a7fda692b4a09b400713">&#9670;&nbsp;</a></span>NVIDIA_OF_PERF_LEVEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_PERF_LEVEL</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Supported optical flow performance levels. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aee3840f0ebe4a7fda692b4a09b400713afdb019756ec316eaf8f07857d7abc52b"></a>NV_OF_PERF_LEVEL_UNDEFINED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aee3840f0ebe4a7fda692b4a09b400713ac54ec6a6041c6071a9b8184ca12e6261"></a>NV_OF_PERF_LEVEL_SLOW&#160;</td><td class="fielddoc"><p>Slow perf level results in lowest performance and best quality </p>
</td></tr>
<tr><td class="fieldname"><a id="aee3840f0ebe4a7fda692b4a09b400713ac42922fccdadd95749a5da0b3ecc657b"></a>NV_OF_PERF_LEVEL_MEDIUM&#160;</td><td class="fielddoc"><p>Medium perf level results in low performance and medium quality </p>
</td></tr>
<tr><td class="fieldname"><a id="aee3840f0ebe4a7fda692b4a09b400713ab0a60a90d75b360a4afdfdd640dd7e1b"></a>NV_OF_PERF_LEVEL_FAST&#160;</td><td class="fielddoc"><p>Fast perf level results in high performance and low quality </p>
</td></tr>
<tr><td class="fieldname"><a id="aee3840f0ebe4a7fda692b4a09b400713a1510e9877051d8af42543fb41a4ac9b4"></a>NV_OF_PERF_LEVEL_MAX&#160;</td><td class="fielddoc"></td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a20e1809f8b722b52b7fae018f9439a43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20e1809f8b722b52b7fae018f9439a43">&#9670;&nbsp;</a></span>convertToFloat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::cuda::NvidiaOpticalFlow_2_0::convertToFloat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a>&#160;</td>
          <td class="paramname"><em>flow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a>&#160;</td>
          <td class="paramname"><em>floatFlow</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a20e1809f8b722b52b7fae018f9439a43" title="convertToFloat() helper function converts the hardware-generated flow vectors to floating point repre...">convertToFloat()</a> helper function converts the hardware-generated flow vectors to floating point representation (1 flow vector for gridSize). gridSize can be queried via function <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#acab67607ab946a9b1820d1d24b5a37d8" title="Returns grid size of output buffer as per the hardware&#39;s capability. ">getGridSize()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flow</td><td>Buffer of type CV_16FC2 containing flow vectors generated by <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a>. </td></tr>
    <tr><td class="paramname">floatFlow</td><td>Buffer of type CV_32FC2, containing flow vectors in floating point representation, each flow vector for 1 pixel per gridSize, in the pitch-linear layout. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af8797a5ba11d9fd5055fba827476e5c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8797a5ba11d9fd5055fba827476e5c1">&#9670;&nbsp;</a></span>create() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html">NvidiaOpticalFlow_2_0</a>&gt; cv::cuda::NvidiaOpticalFlow_2_0::create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">cv::Size</a>&#160;</td>
          <td class="paramname"><em>imageSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_PERF_LEVEL</a>&#160;</td>
          <td class="paramname"><em>perfPreset</em> = <code><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713ac54ec6a6041c6071a9b8184ca12e6261">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_PERF_LEVEL_SLOW</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE</a>&#160;</td>
          <td class="paramname"><em>outputGridSize</em> = <code><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a5d054b069623e24731a589b1880591f9">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_OUTPUT_VECTOR_GRID_SIZE_1</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81e">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_HINT_VECTOR_GRID_SIZE</a>&#160;</td>
          <td class="paramname"><em>hintGridSize</em> = <code><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81eaa57bb3b6dedb062d1ff4475968feaf62">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_HINT_VECTOR_GRID_SIZE_1</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enableTemporalHints</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enableExternalHints</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enableCostBuffer</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>gpuId</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>inputStream</em> = <code><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>outputStream</em> = <code><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Instantiate NVIDIA Optical Flow. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">imageSize</td><td>Size of input image in pixels. </td></tr>
    <tr><td class="paramname">perfPreset</td><td>Optional parameter. Refer <a href="https://developer.nvidia.com/opticalflow-sdk">NV OF SDK documentation</a> for details about presets. Defaults to NV_OF_PERF_LEVEL_SLOW. </td></tr>
    <tr><td class="paramname">outputGridSize</td><td>Optional parameter. Refer <a href="https://developer.nvidia.com/opticalflow-sdk">NV OF SDK documentation</a> for details about output grid sizes. Defaults to NV_OF_OUTPUT_VECTOR_GRID_SIZE_1. </td></tr>
    <tr><td class="paramname">hintGridSize</td><td>Optional parameter. Refer <a href="https://developer.nvidia.com/opticalflow-sdk">NV OF SDK documentation</a> for details about hint grid sizes. Defaults to NV_OF_HINT_VECTOR_GRID_SIZE_1. </td></tr>
    <tr><td class="paramname">enableTemporalHints</td><td>Optional parameter. Flag to enable temporal hints. When set to true, the hardware uses the flow vectors generated in previous call to <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a> as internal hints for the current call to <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a>. Useful when computing flow vectors between successive video frames. Defaults to false. </td></tr>
    <tr><td class="paramname">enableExternalHints</td><td>Optional Parameter. Flag to enable passing external hints buffer to <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a>. Defaults to false. </td></tr>
    <tr><td class="paramname">enableCostBuffer</td><td>Optional Parameter. Flag to enable cost buffer output from <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a>. Defaults to false. </td></tr>
    <tr><td class="paramname">gpuId</td><td>Optional parameter to select the GPU ID on which the optical flow should be computed. Useful in multi-GPU systems. Defaults to 0. </td></tr>
    <tr><td class="paramname">inputStream</td><td>Optical flow algorithm may optionally involve cuda preprocessing on the input buffers. The input cuda stream can be used to pipeline and synchronize the cuda preprocessing tasks with OF HW engine. If input stream is not set, the execute function will use default stream which is NULL stream; </td></tr>
    <tr><td class="paramname">outputStream</td><td>Optical flow algorithm may optionally involve cuda post processing on the output flow vectors. The output cuda stream can be used to pipeline and synchronize the cuda post processing tasks with OF HW engine. If output stream is not set, the execute function will use default stream which is NULL stream; </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a59d22e2ce6371362f4471f35fb240909"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59d22e2ce6371362f4471f35fb240909">&#9670;&nbsp;</a></span>create() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html">NvidiaOpticalFlow_2_0</a>&gt; cv::cuda::NvidiaOpticalFlow_2_0::create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">cv::Size</a>&#160;</td>
          <td class="paramname"><em>imageSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="../../dc/d84/group__core__basic.html#ga11d95de507098e90bad732b9345402e8">Rect</a> &gt;&#160;</td>
          <td class="paramname"><em>roiData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_PERF_LEVEL</a>&#160;</td>
          <td class="paramname"><em>perfPreset</em> = <code><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#aee3840f0ebe4a7fda692b4a09b400713ac54ec6a6041c6071a9b8184ca12e6261">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_PERF_LEVEL_SLOW</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE</a>&#160;</td>
          <td class="paramname"><em>outputGridSize</em> = <code><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a6b19352346b841a1fac3dd1980d311a6a5d054b069623e24731a589b1880591f9">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_OUTPUT_VECTOR_GRID_SIZE_1</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81e">cv::cuda::NvidiaOpticalFlow_2_0::NVIDIA_OF_HINT_VECTOR_GRID_SIZE</a>&#160;</td>
          <td class="paramname"><em>hintGridSize</em> = <code><a class="el" href="../../db/d70/classcv_1_1cuda_1_1NvidiaOpticalFlow__2__0.html#a29d6c4e6ab040dd9d192f13c117bc81eaa57bb3b6dedb062d1ff4475968feaf62">cv::cuda::NvidiaOpticalFlow_2_0::NV_OF_HINT_VECTOR_GRID_SIZE_1</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enableTemporalHints</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enableExternalHints</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enableCostBuffer</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>gpuId</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>inputStream</em> = <code><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>outputStream</em> = <code><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Instantiate NVIDIA Optical Flow with ROI Feature. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">imageSize</td><td>Size of input image in pixels. </td></tr>
    <tr><td class="paramname">roiData</td><td>Pointer to ROI data. </td></tr>
    <tr><td class="paramname">perfPreset</td><td>Optional parameter. Refer <a href="https://developer.nvidia.com/opticalflow-sdk">NV OF SDK documentation</a> for details about presets. Defaults to NV_OF_PERF_LEVEL_SLOW. </td></tr>
    <tr><td class="paramname">outputGridSize</td><td>Optional parameter. Refer <a href="https://developer.nvidia.com/opticalflow-sdk">NV OF SDK documentation</a> for details about output grid sizes. Defaults to NV_OF_OUTPUT_VECTOR_GRID_SIZE_1. </td></tr>
    <tr><td class="paramname">hintGridSize</td><td>Optional parameter. Refer <a href="https://developer.nvidia.com/opticalflow-sdk">NV OF SDK documentation</a> for details about hint grid sizes. Defaults to NV_OF_HINT_VECTOR_GRID_SIZE_1. </td></tr>
    <tr><td class="paramname">enableTemporalHints</td><td>Optional parameter. Flag to enable temporal hints. When set to true, the hardware uses the flow vectors generated in previous call to <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a> as internal hints for the current call to <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a>. Useful when computing flow vectors between successive video frames. Defaults to false. </td></tr>
    <tr><td class="paramname">enableExternalHints</td><td>Optional Parameter. Flag to enable passing external hints buffer to <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a>. Defaults to false. </td></tr>
    <tr><td class="paramname">enableCostBuffer</td><td>Optional Parameter. Flag to enable cost buffer output from <a class="el" href="../../d5/d26/classcv_1_1cuda_1_1NvidiaHWOpticalFlow.html#a9c065a6ed6ed6d9a5531f191ac7a366d" title="Calculates Optical Flow using NVIDIA Optical Flow SDK. ">calc()</a>. Defaults to false. </td></tr>
    <tr><td class="paramname">gpuId</td><td>Optional parameter to select the GPU ID on which the optical flow should be computed. Useful in multi-GPU systems. Defaults to 0. </td></tr>
    <tr><td class="paramname">inputStream</td><td>Optical flow algorithm may optionally involve cuda preprocessing on the input buffers. The input cuda stream can be used to pipeline and synchronize the cuda preprocessing tasks with OF HW engine. If input stream is not set, the execute function will use default stream which is NULL stream; </td></tr>
    <tr><td class="paramname">outputStream</td><td>Optical flow algorithm may optionally involve cuda post processing on the output flow vectors. The output cuda stream can be used to pipeline and synchronize the cuda post processing tasks with OF HW engine. If output stream is not set, the execute function will use default stream which is NULL stream; </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>opencv2/<a class="el" href="../../d2/d43/cudaoptflow_8hpp.html">cudaoptflow.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:44 for OpenCV by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
